package com.hospital.enumeration;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.hospital.constant.MessageConstant;
import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum Gender {
    MALE("男"),
    FEMALE("女");

    @EnumValue  // MybatisPlus注解，将枚举值映射为数据库中的值
    @JsonValue  // JSON序列化时使用的值
    private final String value;

    // 根据值获取枚举对象
    public static Gender fromValue(String value) {
        for (Gender gender : Gender.values()) {
            if (gender.getValue().equals(value)) {
                return gender;
            }
        }
        throw new IllegalArgumentException(MessageConstant.PARAM_ERROR);
    }
}
